package com.itheima.servletcontext;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
// 设置一个路径
@WebServlet("/context")
public class ServletContextDemo extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("请求来了 我想要获取，数据是不是在容器中");
        // 谁是容器对象 ServletContext 从 容器中取出
        ServletContext servletContext = getServletContext();

        //这次取跟之前不一样  web.xml中取
        String name = servletContext.getInitParameter("name");

        System.out.println("取出项目初始化存储的参数name:"+name);

        // ServletContext是不是代表着 当前的项目啊
        // 当前项目 是不是配置虚拟路径了getContextPath()
        System.out.println("获取当前项目虚拟路径:"+servletContext.getContextPath());

        //在web项目中如果想要获取web项目中的资源 一定要进行一个 真实路径获取
        // 当项目发布后  该文件真实的路径
        String realPath = servletContext.getRealPath("b.txt");
        System.out.println("获取到b.txt发布之后的路径。"+realPath);
        //通过web程序  读取 b.txt文件中数据
        BufferedReader br = new BufferedReader(new FileReader(realPath));

        String s = br.readLine();

        System.out.println("读取到b.txt中数据是:"+s);

        br.close();
        // getRealPath()

    }
}
